iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0
自我挑戰組

從0開始學習前端:系列 第 17

從0開始學習前端:DAY17- Vite 的架構

  • 分享至 

  • xImage
  •  

🔹 傳統打包工具的痛點

像 Webpack、Parcel 這些老工具,啟動專案時會先把所有檔案打包成一坨,再丟給瀏覽器。
這就造成:

  • 專案小 → 沒感覺

  • 專案大 → 等半天(啟動超慢)

而 Vite 的做法完全不一樣!

🔹 Vite 的核心概念

1.利用瀏覽器原生 ES Modules

Vite 啟動時,不會一次把所有檔案打包,而是 直接把原始碼丟給瀏覽器,利用 import/export 模組化功能去載入。
👉 換句話說:瀏覽器需要什麼檔案,Vite 才即時轉譯什麼檔案,這叫「按需載入」。

2.開發模式 vs. 打包模式

  • 開發模式:使用 esbuild
    (用 Go 寫的超快轉譯器)做即時轉換,快到飛起。

  • 生產模式:最後要上線時,Vite 會用 Rollup 幫你打包成最佳化的靜態檔案(JS、CSS、HTML)。

👉 這就解釋了為什麼 Vite 在開發時「秒啟動」,但生產環境又能有很穩定的輸出。

3.快取機制

Vite 對已處理過的檔案會做快取,下次開專案不用再全部重跑,體驗更流暢。

🔹 架構流程簡化圖

你輸入 npm run dev → 啟動 Vite 開發伺服器。

瀏覽器請求檔案 → Vite 用 esbuild 轉換後再丟回去。

如果修改程式碼 → Vite 只重新編譯改過的檔案,並透過 HMR (Hot Module Replacement) 即時更新到瀏覽器,不用整頁重整。

🔹 結論

Vite 的架構就是靠 ES Modules + esbuild 即時轉譯 + Rollup 打包,把「開發快」和「生產穩定」兩者兼顧。
它的設計理念很簡單:用瀏覽器能理解的東西,不要幫它做太多額外打包。


上一篇
從0開始學習前端:DAY16- SCSS
下一篇
從0開始學習前端:DAY18- Vite 環境安裝教學
系列文
從0開始學習前端:30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言